package oa.hleast.xswl.service.venue;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import oa.hleast.xswl.pojo.form.CmsVenueSignInForm;
import oa.hleast.xswl.pojo.form.VenueScheduleAddForm;
import oa.hleast.xswl.pojo.vo.*;

import java.util.List;

/**
 * @author: 302
 * @date: 2021-07-05 15:14:29
 * @description: 场馆预约
 */
public interface VenueService {

    boolean saveScheduleList(VenueScheduleAddForm form);

    List<CmsVenueScheduleVo> findScheduleByYearAndMonth(Integer year, Integer month, Long venueMainId);

    List<ShowVenueScheduleVo> findSchedule30DayFromNow(Long venueMainId);

    boolean venueReserve(Long userId, CmsVenueSignInForm form);

    List<MyVenueReserveVo> findMyReserve(Long userId);

    boolean reserveSignIn(Long signInId);

    boolean saveSchedule(VenueScheduleAddForm form);

    CmsVenueSignInVo signInDetail(Long id);

    HttpShowVenueSignInVo httpShowVenueSign(Long signInId);

    List<ManagerSignInVenuesVo> listByUserIdForManager(Long userId, Long managerUserId);

    boolean managerUser2SignIn4User(List<Long> venueSignIdList, Long managerUserId);

    Page<VenueUserSignInVo> pageUserSign(Integer page, Integer limit, Long venuesMainId);
}
